package com.xoa.dev.pz.controller;

import com.xoa.dev.pz.model.PzPersonFlow;
import com.xoa.dev.pz.service.PzPersonFlowService;
import com.xoa.util.ToJson;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Created by gsb on 2017/12/4.
 */
@Controller
@RequestMapping("/pzPersonFlow")
public class PzPersonFlowController {

    @Resource
    private PzPersonFlowService pzPersonFlowService;

    /**
     * 创建作者:   季佳伟
     * 创建日期:   2017年12月04日 下午15:08:00
     * 方法介绍:   流动人口添加
     * 参数说明:
     * 返回值说明:
     */
    @RequestMapping("/insertSelective")
    @ResponseBody
    public ToJson<PzPersonFlow> insertSelective(PzPersonFlow pzPersonFlow){
        return pzPersonFlowService.insertSelective(pzPersonFlow);
    }

    /**
     * 创建作者:   季佳伟
     * 创建日期:   2017年12月04日 下午15:08:00
     * 方法介绍:   流动人口修改
     * 参数说明:
     * 返回值说明:
     */
    @RequestMapping("/updateByPrimaryKeySelective")
    @ResponseBody
    public ToJson<PzPersonFlow> updateByPrimaryKeySelective(PzPersonFlow pzPersonFlow, @RequestParam(value="specialStr", required = false,defaultValue = "") String specialStr){
        return pzPersonFlowService.updateByPrimaryKeySelective(pzPersonFlow,specialStr);
    }
    /**
     * 创建作者:   季佳伟
     * 创建日期:   2017年12月04日 下午15:08:00
     * 方法介绍:   流动人口删除
     * 参数说明:
     * 返回值说明:
     */
    @RequestMapping("/deleteByPrimaryKey")
    @ResponseBody
    public ToJson<PzPersonFlow> deleteByPrimaryKey(int personId){
        return pzPersonFlowService.deleteByPrimaryKey(personId);
    }
    /**
     * 创建作者:   季佳伟
     * 创建日期:   2017年12月04日 下午15:08:00
     * 方法介绍:   流动人口详情
     * 参数说明:
     * 返回值说明:
     */
    @RequestMapping("/queryById")
    @ResponseBody
    public ToJson<PzPersonFlow> queryById(int personId){
        return pzPersonFlowService.queryById(personId);
    }
    /**
     * 创建作者:   季佳伟
     * 创建日期:   2017年12月04日 下午15:08:00
     * 方法介绍:   流动人口列表
     * 参数说明:
     * 返回值说明:
     */
    @RequestMapping("/queryAll")
    @ResponseBody
    public ToJson<PzPersonFlow> queryAll(PzPersonFlow pzPersonFlow, Integer page, Integer pageSize, boolean useFlag, HttpServletRequest request, HttpServletResponse response, String export){
        return pzPersonFlowService.queryAll(pzPersonFlow, page, pageSize, useFlag,request,response,export);
    }
    /**
     * 创建作者:   季佳伟
     * 创建日期:   2017年12月05日 下午14:22:00
     * 方法介绍:   导入流动人口
     * 参数说明:
     * 返回值说明:
     */
    @RequestMapping("/importPzPersonFlow")
    @ResponseBody
    public ToJson<PzPersonFlow> importPzPersonFlow(MultipartFile file, HttpServletRequest request, HttpServletResponse response) {
       return pzPersonFlowService.importPzPersonFlow(file, request, response);
    }
    /**
     * 创建作者:   季佳伟
     * 创建日期:   2017年12月05日 下午15:22:00
     * 方法介绍:   导出流动人口或条件查询
     * 参数说明:
     * 返回值说明:
     */
    @RequestMapping("/getPersonFlowExport")
    @ResponseBody
    public ToJson<PzPersonFlow> getPersonFlowExport(HttpServletRequest request, HttpServletResponse response, PzPersonFlow pzPersonFlow, String export) {
     return pzPersonFlowService.getPersonFlowExport(request, response, pzPersonFlow, export);
    }
    }
